package com.inspur.system.mapper;

import java.util.List;
import com.inspur.system.domain.PmPro;
import com.inspur.system.dto.PmProDTO;
import com.inspur.system.dto.ProNumDTO;
import com.inspur.system.dto.ProTextDTO;

/**
 * 【项目】Mapper接口
 * 
 * @author ruoyi
 * @date 2024-04-07
 */
public interface PmProMapper
{
    /**
     * 查询【项目】
     * 
     * @param cProNo 【项目】主键
     * @return 【项目】
     */
    public PmProDTO selectPmProByCProNo(String cProNo);

    /**
     * 查询【项目】列表
     * 
     * @param pmPro 【项目】
     * @return 【项目】集合
     */
    public List<PmProDTO> selectPmProList(PmProDTO pmPro);

    /**
     * 导出时查询【项目】列表
     *
     * @param pmPro 【项目】
     * @return 【项目】集合
     */
    public List<PmPro> selectPmProListExport(PmPro pmPro);

    /**
     * 新增【项目】
     * 
     * @param pmPro 【项目】
     * @return 结果
     */
    public int insertPmPro(PmPro pmPro);

    /**
     * 修改【项目】
     * 
     * @param pmPro 【项目】
     * @return 结果
     */
    public int updatePmPro(PmPro pmPro);

    /**
     * 删除【项目】
     * 
     * @param cProNo 【项目】主键
     * @return 结果
     */
    public int deletePmProByCProNo(Long cProNo);

    /**
     * 批量删除【项目】
     * 
     * @param cProNos 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePmProByCProNos(String[] cProNos);

    /**
     * 查询项目工作项数量
     */
    public ProNumDTO selectPmProWorkNum(String cProNo);

    /**
     * 查询项目工作项工时
     */
    public ProNumDTO selectPmProWorkTime(String cProNo);

    /**
     * 查询项目进度
     */
    public ProNumDTO selectPmProPace(String cProNo);

    /**
     * 查询项目名称列表
     */
    public List<PmPro> selectPmProName(String cProNo);

    /**
     * 查询项目名称列表
     */
    public List<ProTextDTO> selectPmProWorkEchars(PmProDTO pmPro);

    /**
     * 查询项目数量
     */
    public ProNumDTO selectPmProNum();
}
